<? php
$Src = 'images/pages/clients/logos/clnt_aljareera_img.jpg';
$pttn= '/&Src:'.$Src.'/';
$string=preg_replace($pttn,'',$string,1);
?>
//Ошибка вывода: Неизвестный модификатор 'p' в
<? php
$Src = 'images/pages/clients/logos/clnt_aljareera_img.jpg';
$pttn= '/&Src:'.$Src.'/';
$string=preg_replace($pttn,'',$string,1);
?>
//Ошибка вывода: Неизвестный модификатор 'p' в
Ваша строка содержит целый беспорядок /
, который необходимо экранировать как \/
при использовании /
в качестве разделителя регулярных выражений. Вместо /
в качестве разделителей регулярных выражений используйте что-то, что не будет встречаться в вашей строке, например, ~
. Однако вы должны выбрать символ-разделитель, который гарантированно не появится в $Src
. Вы можете быть в большей безопасности даже с |
, чем с ~
.
$Src = 'images/pages/clients/logos/clnt_aljareera_img.jpg';
// Delimit the regular expression with ~
$pttn= '~&Src:'.$Src.'~';
$string=preg_replace($pttn,'',$string,1);
Случилось так, что ваше регулярное выражение, разделенное /
, встречает p
сразу после images/
, потому что считает, что достигло закрывающего разделителя. Следующее слово pages
ошибочно воспринимается как строка модификаторов регулярных выражений.
PHP видит регулярное выражение:
/&src:images/pages
Удалите пробел в открывающем php-теге.
images/p
, когда регулярное выражение думает, что встречает закрывающий разделитель /
, за которым следует p
.
- person Michael Berkowski; 22.10.2012
Parse error: syntax error, unexpected T_VARIABLE
- person Michael Berkowski; 22.10.2012