Jump to content

Automatically closing html tags


Porl123

Recommended Posts

$content = preg_replace('/\[b\](.*?)(\[\/b\]|$)/i','<strong>\\1</strong>',$content);

 

I have this line which I want to convert [ b ]text[ /b ] (had to space out) to <strong>text</strong>. But I want it to imply the </strong> if one isn't detected by the end of the content. I thought this would work but it only matches when it detects the [/b] and not the end of the content. Does anybody see a problem with it?

 

Thanks

Link to comment
https://forums.phpfreaks.com/topic/238052-automatically-closing-html-tags/
Share on other sites

The dot in .*? by default will only match up to to end of line char (\n), So unless your opening b tag happens to be on the last line, your pattern won't work.  You need to use the s modifier to get it to also match \n so it will match to the end of the content.

 

http://php.net/manual/en/reference.pcre.pattern.modifiers.php

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.