开发者

PHP functions wont work with String object, but works with it typed manually

开发者 https://www.devze.com 2022-12-20 00:13 出处:网络
I\'m trying to strip tags from a text output coming from an object. The problem is, that I can\'t. If I type it manually like \"<p>http://www.mylink.com</p>\", it works fine! When doing ec

I'm trying to strip tags from a text output coming from an object. The problem is, that I can't. If I type it manually like "<p>http://www.mylink.com</p>", it works fine! When doing echo $item->text; it gives me the same string "<p>http://www.mylink.com</p>"; Doing var_dump or even gettype, gives me a string(). So, I'm sure its a string, but it's not acting like it, I tried several functions preg_replace开发者_开发技巧, preg_match, strip_Tags, none worked. How can I solve this situation, how to debug it ?


 $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;


Try the following

$text = $item->introtext;
$newText = strip_tags($text);


typecast the object into a string before you feed it into the function.

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

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号