2013-10-07 5 views
0

У меня есть следующий код, я пытаюсь заменить регулярное выражение внутри переменной $ query, и мне нужно заменить все вхождения «Hello» на «Bye». Что не так с этим кодом?substr_replace все вхождения внутри большой строки

<?php 

ini_set("default_socket_timeout", 116000); 

$curl_handle=curl_init(); 
curl_setopt($curl_handle, CURLOPT_URL,'http://www.mysite.com.br/index.php?option=com_xxxx&format=xml'); 
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); 
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name'); 
$query = curl_exec($curl_handle); 
curl_close($curl_handle); 


if (strlen($query) > 95000){ 
echo "OK"; 
substr_replace ($query ("hello","bye",0)); 
file_put_contents('/home/myuser/mysite.com/xml/file.xml',$query); 
} 
else 
{ 
echo "Error"; 
} 

?> 
+0

Я не знаком с PHP, но из http://php.net/manual/en/function.substr-replace.php это выглядит как ваш синтаксис должен быть '$ запрос = substr_replace ($ запроса» hello "," bye ", 0);' – Harrison

+0

не работает, извините – ol30cean0

ответ

1

str_replace - это на самом деле команда, которую вы ищете;

$query = str_replace ("hello","bye",$query); 
+0

Мне нужно заменить регулярное выражение внутри $ query, поэтому я не думаю, что это сработает, но я сейчас пытаюсь .. спасибо – ol30cean0

+0

забудьте, что я написал выше, ваше решение работает, во всяком случае я использовал «$ query2 = str_replace (« hello »,« bye », $ query); спасибо ... – ol30cean0

+0

@ ol30cean0 Возможно, тогда я не понял вашу проблему. Существует команда [preg_replace] [http://www.php.net/manual/en/function.preg-replace.php] для регулярных выражений, если вам нужно что-то более сложное – Harrison

Смежные вопросы