Функции PHP не работают с объектом String, но работают с ним, набираемым вручную - PullRequest
0 голосов
/ 08 февраля 2010

Я пытаюсь удалить теги из текстового вывода, поступающего от объекта. Проблема в том, что я не могу. Если я наберу его вручную, как "<p>http://www.mylink.com</p>", он работает нормально! При выполнении echo $item->text; это дает мне ту же строку "<p>http://www.mylink.com</p>"; При выполнении var_dump или даже gettype, дает мне string(). Итак, я уверен, что это строка, но она не работает так, как я, я пробовал несколько функций preg_replace, preg_match, strip_Tags, ни одна не работала. Как я могу решить эту ситуацию, как ее отладить?


 $search = array("<p>", "</p>");
 $switch = array("foo", "baa");

 //works just fine, when used
 $text = "<p>http://www.mylink.com</p>"; 

 //it's a string for sure!
 var_dump($item->introtext);

 $text = $item->introtext;

 //doesn't work
 $text = str_replace($search, $switch, $text);

 $text = strip_tags($text, "<p>");

 //doesn't work either.
 $matches = array();
 $pattern = '/<p>(.*)<\/p>/';

 preg_match($pattern, $text, $matches);

 //gives me the following output: <p>http://www.omeulink.com</p>
 echo $text;

Ответы [ 2 ]

0 голосов
/ 08 февраля 2010

введите объект в строку перед тем, как передать его в функцию.

$ text = (string) $ item-> introtext;

0 голосов
/ 08 февраля 2010

Попробуйте следующее

$text = $item->introtext;
$newText = strip_tags($text);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...