How to wrap each new line in textarea with li tags? PHP

独自空忆成欢 提交于 2019-12-03 08:45:32
$textareaData = '<li>'.str_replace("\n","</li>\n<li>",trim($textareaData,"\n")).'</li>';

EDIT

Modified to get rid of all blank lines as well:

$textareaData = '<li>'.str_replace(array("\r","\n\n","\n"),array('',"\n","</li>\n<li>"),trim($textareaData,"\n\r")).'</li>';

And what about something like this

echo preg_replace('/^(.+)(\s*)$/m', '<li>$1</li>', $text);

Output will be anything like this (not nice, but usefull):

<li>dsadsa
</li>
<li>dsdsa
</li>
<li>dsadsad
</li>
<li>dsadsadsad
</li>
<li>vcxvxcvxvcxvcx
</li>
<li>fdsfdsfdsfs
</li>

Using a regular expression you can check for non-empty lines as part of your test:

$li_text = preg_replace('/^(.+)$/', '<li>$1</li>', $_POST['textarea']);

That way if the user has an extra new line at the end of their input (or anywhere inside) you won't get extra empty list items.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!