Я хочу, чтобы изменить следующие ниже:
% => \%
_ => \ _
\ => \\ошибки preg_replace на специальных символов
Eg:
1. ali% sdn bhd -> ali\% sdn bhd
2. ali_ sdn bhd -> ali\_ sdn bhd
3. ali\ sdn bhd -> ali\\ sdn bhd
А вот код, написанный:
<?php
$special_characters = array("%","_","\\");
$replace_special_characters = array("\\%","\\_","\\\\\\\\");
foreach($special_characters as $value)
{
if(strpos($companyname, $value) !== FALSE)
{
$companyname = preg_replace('/'.$value.'/', $replace_special_characters, $companyname); //ERROR HERE
}
}
?>
Однако, с выходом выше, я получаю эту ошибку:
Warning: preg_replace(): Parameter mismatch, pattern is a string while replacement is an array ...
Какую часть я написал не так? Как мне его изменить?
может быть, я пропустил что-то очевидное здесь, но это не распространяется уже функцией str_replace? http://us1.php.net/manual/en/function.str-replace.php – cypherabe