我有一个textarea表单字段,用户将URL以新行分隔。是否可以用<>包装此textarea字段中的每一行? li>标签
所以我需要字段的输出是这样的:
<li>some.url.com</li>
<li>some.url.com</li>
<li>some.url.com</li>
<li>some.url.com</li>
<li>some.url.com</li>
有谁知道用PHP来解决这个问题?
答案 0 :(得分:13)
$textareaData = '<li>'.str_replace("\n","</li>\n<li>",trim($textareaData,"\n")).'</li>';
修改强>
修改以除去所有空白行:
$textareaData = '<li>'.str_replace(array("\r","\n\n","\n"),array('',"\n","</li>\n<li>"),trim($textareaData,"\n\r")).'</li>';
答案 1 :(得分:1)
那样的事情
echo preg_replace('/^(.+)(\s*)$/m', '<li>$1</li>', $text);
输出将是这样的(不好,但有用):
<li>dsadsa
</li>
<li>dsdsa
</li>
<li>dsadsad
</li>
<li>dsadsadsad
</li>
<li>vcxvxcvxvcxvcx
</li>
<li>fdsfdsfdsfs
</li>
答案 2 :(得分:0)
使用正则表达式,您可以检查非空行作为测试的一部分:
$li_text = preg_replace('/^(.+)$/', '<li>$1</li>', $_POST['textarea']);
这样,如果用户在输入的末尾(或内部任何地方)有一个额外的新行,则不会获得额外的空列表项。