2014-12-19 5 views
-7

Скажите, пожалуйста, как найти и заменить в PHP.найти и заменить специальные символы в PHP

Я урожденная найти запись = "OK" и заменить OK в файле XML.

Я попытался str_replace но запутался из-за = и " в нем.

+2

В файле XML, вы говорите? почему бы не использовать и синтаксический анализатор XML? –

+0

@Damien Pirsy. Можете ли вы любезно объяснить мне больше, пожалуйста. –

ответ

0

Хотя я не уверен окружающей среды вы работаете, вот пример php, который я думаю, делает то, что вы хотите:

<html> 
<?php 
$teststr = "Entry=\"OK\""; 
print $teststr . "<br>"; 
$newanswer = str_replace($teststr, "Entry=OK", $teststr); 
print $newanswer . "<br>"; 
?> 
</html> 
+0

Спасибо. Но я не могу изменить источник, чтобы он отображался как ** Entry = \ "OK \" **. это ** Вход = «ОК» **. Пожалуйста, помогите –

+0

Просто назначьте свою строку ввода $ teststr. Единственная причина, по которой я использовал «Entry = \» OK \ », - это потому, что у меня нет доступа к вашей входной строковой переменной. – BigScar

+0

Просто в XML-файле он содержит ** Entry = "OK" **. И мне нужно заменить его ** OK **. Проблема в том, что 'str_replace' не работает, когда '=' и '' 'есть. –

0

Попробуйте этот путь

str_replace('Entry="OK"','OK',$var); 
0

Вы можете использовать str_replace его рабочую

$r = 'Entry="OK" tyyuu hhh'; 
echo str_replace($r,'Entry="OK"','OK'); 

если какая-либо ошибка найдена, то и использовать preg_replace с соответствующим patteren

+1

У вас неправильный порядок аргументов, так как для остальных это ничем не отличается от других ответов. О, кстати, я не являюсь ничтожным ответом здесь:) –

+0

Привет, Damien, почему вы не даете никакого ответа или какой-либо идеи –