(PHP 4, PHP 5, PHP 7)
preg_replace — ִ��һ��������ʽ���������滻
$pattern
, mixed $replacement
, mixed $subject
[, int $limit
= -1
[, int &$count
]] ) : mixed
����subject
��ƥ��pattern
�IJ��֣�
��replacement
�����滻��
pattern
Ҫ������ģʽ������ʹһ���ַ������ַ������顣
����ʹ��һЩPCRE���η���
replacement
�����滻���ַ������ַ������顣������������һ���ַ���������pattern
��һ�����飬��ô���е�ģʽ��ʹ������ַ��������滻�����pattern
��replacement
�������飬ÿ��pattern
ʹ��replacement
�ж�Ӧ��
Ԫ�ؽ����滻�����replacement
�е�Ԫ�ر�pattern
�е��٣�
�������pattern
ʹ�ÿ��ַ��������滻��
replacement
�������������\\n
��$n�������ѡ���ߡ� ÿ��
���������ý���ƥ�䵽�ĵ�n���������鲶���ı��滻�� n
������0-99��\\0��$0����������ģʽƥ���ı���
�����������ż�����ʽΪ������������������Ŵ����ң� ��1��ʼ�������Ҫ��replacement
��ʹ�÷�б�ߣ�����ʹ��4��("\\\\"����ע����Ϊ��������php���ַ���������ת������������پ���
������ʽ�����ű���Ϊ��һ��ԭ�ķ�б��)��
�����滻ģʽ�¹������Һ������ú����������Ҫ������һ������(���磺��һ��ƥ��ģʽ�����������һ��ԭ������)�� ����ʹ��\\1��������������������á����磬 \\11����ʹpreg_replace() ���������ϣ������һ��\\1�������ý���һ��ԭ��1������ һ��\\11�������ú��治���κζ����� ��������½��������ʹ��${1}1�� �ⴴ����һ��������$1��������, һ��������ԭ��1��
��ʹ�ñ����õ� e ���η�ʱ, ���������ת��һЩ�ַ�(����'��"�� \ �� NULL) Ȼ����к��������滻������Щ��ɺ���ȷ���������ý������û�е����Ż� ˫��������������(���磺 'strlen(\'$1\')+strlen("$2")')��ȷ������PHP�� �ַ���������ҷ���eval�����Ϊ������滻�� ����Ὣ����ַ�����Ϊphp����ʹ��eval��ʽ����������������ֵ��Ϊ���ղ����滻���ַ�����
subject
Ҫ�����������滻���ַ������ַ������顣
���subject
��һ�����飬�������滻����subject
��ÿһ��Ԫ���Ͻ���, ���ҷ���ֵҲ����һ�����顣
limit
ÿ��ģʽ��ÿ��subject
�Ͻ����滻����������Ĭ����
-1(����)��
count
���ָ�������ᱻ���Ϊ��ɵ��滻������
���subject
��һ�����飬 preg_replace()����һ�����飬
��������·���һ���ַ�����
���ƥ�䱻���ҵ����滻���subject
�����أ����������
����û�иı�� subject
��������������� NULL
��
PHP 5.5.0 �� ���� "\e" ���η���ʱ�����һ�� E_DEPRECATED
���� PHP 7.0.0 �𣬻���� E_WARNING
����ͬʱ "\e" Ҳ����Ч��
�汾 | ˵�� |
---|---|
7.0.0 | ����֧�� /e���η��� ���� preg_replace_callback() ���档 |
5.5.0 | /e ���η��Ѿ��������ˡ�ʹ�� preg_replace_callback() ���档�μ��ĵ��� PREG_REPLACE_EVAL ���ڰ�ȫ���յĸ�����Ϣ�� |
5.1.0 |
���Ӳ���count .
|
Example #1 ʹ�ú������ý�����ֵԭ��
<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
?>
�������̻������
April1,2003
Example #2 preg_replace()��ʹ�û�������������
<?php
$string = 'The quick brown fox jumps over the lazy dog.';
$patterns = array();
$patterns[0] = '/quick/';
$patterns[1] = '/brown/';
$patterns[2] = '/fox/';
$replacements = array();
$replacements[2] = 'bear';
$replacements[1] = 'black';
$replacements[0] = 'slow';
echo preg_replace($patterns, $replacements, $string);
?>
�������̻������
The bear black slow jumps over the lazy dog.
��ģʽ���滻���ݰ�key�����������ǿ��Եõ������Ľ����
<?php
ksort($patterns);
ksort($replacements);
echo preg_replace($patterns, $replacements, $string);
?>
�������̻������
The slow black bear jumps over the lazy dog.
Example #3 �滻һЩֵ
<?php
$patterns = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/',
'/^\s*{(\w+)}\s*=/');
$replace = array ('\3/\4/\1\2', '$\1 =');
echo preg_replace($patterns, $replace, '{startDate} = 1999-5-27');
?>
�������̻������
$startDate = 5/27/1999
Example #4 ����հ��ַ�
������Ӱ������Ŀհ��ַ�
<?php
$str = 'foo o';
$str = preg_replace('/\s\s+/', ' ', $str);
// ����ı�Ϊ'foo o'
echo $str;
?>
Example #5 ʹ�ò���count
<?php
$count = 0;
echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $count);
echo $count; //3
?>
�������̻������
xp***to 3
Note:
��ʹ��������ʽ��
pattern
��replacement
ʱ, ���ᰴ��key�������г��ֵ�˳����д���. ����һ�������������˳��һ��. ���������ʹ�������Եȷ�ʽ��replacement
��pattern
�����滻, ������ڵ���preg_replace()֮ǰ���������������һ��ksort()����.