通过正则表达式将 HTML 添加到单元格内容

Adding HTML to Cell Contents via REGEX

我到处都看到过这个问题,但找不到符合我要求的问题。

我正在将内容导入网站,并要求在文本中的空行中添加 HTML (<br>) 换行符。我已经将列内容从 Calc 复制到 Sublime。

我想接受这个(其中一个空行应替换为 <br>,2 个空行代表下一个单元格)。

        some text here some text here some text here some text here

        some text here some text here 

        some text here some text here some text here some text here


        some text here some text here some text here some text here

        some text here some text here 

        some text here some text here some text here some text here


        some text here some text here some text here some text here

        some text here some text here 

        some text here some text here some text here some text here

最后是。

        some text here some text here some text here some text here
        <br>
        some text here some text here 
        <br>
        some text here some text here some text here some text here


        some text here some text here some text here some text here
        <br>
        some text here some text here 
        <br>
        some text here some text here some text here some text here


        some text here some text here some text here some text here
        <br>
        some text here some text here 
        <br>
        some text here some text here some text here some text here

我尝试过像 a{1}\r 这样的正则表达式,但我真的不擅长这个,因为我没有使用正则表达式的经验。

您可以使用以下正则表达式:

(.)((\r?\n){2})(.)

并替换为 <br>.

详情:

  • (.) - 捕获组 1 匹配除换行符以外的任何字符
  • ((\r?\n){2}) - 捕获第 2 组恰好捕获两次出现 ({2}) 的可选(1 次或 0 次出现,?)回车 return 和换行符 (单个事件被捕获到捕获组 3)
  • (.) - 捕获组 4 匹配除换行符以外的任何字符。

替换模式包含对上述捕获的反向引用和文字 <br> 子字符串。

请注意,\r?\n 可以替换为 \R 以使引擎匹配任何类型的换行符。

正则表达式:

(?<=.)(?:(\r?\n){2})(?=.)

PHP

<?php
$re = '/(?<=.)(?:(\r?\n){2})(?=.)/m';
$str = 'some text here some text here some text here some text here

some text here some text here 

some text here some text here some text here some text here


some text here some text here some text here some text here

some text here some text here 

some text here some text here some text here some text here


some text here some text here some text here some text here

some text here some text here 

some text here some text here some text here some text here';
$subst = '<br>';

$result = preg_replace($re, $subst, $str);

echo "The result of the substitution is ".$result;
?>

原文

这里有一些文字 这里有一些文字 这里有一些文字 这里有一些文字

这里有一些文字 这里有一些文字

这里有一些文字 这里有一些文字 这里有一些文字 这里有一些文字

这里有一些文字 这里有一些文字 这里有一些文字 这里有一些文字

这里有一些文字 这里有一些文字

这里有一些文字 这里有一些文字 这里有一些文字 这里有一些文字

这里有一些文字 这里有一些文字 这里有一些文字 这里有一些文字

这里有一些文字 这里有一些文字

这里有一些文字 这里有一些文字 这里有一些文字 这里有一些文字

结果

some text here some text here some text here some text here
<br>
some text here some text here 
<br>
some text here some text here some text here some text here


some text here some text here some text here some text here
<br>
some text here some text here 
<br>
some text here some text here some text here some text here


some text here some text here some text here some text here
<br>
some text here some text here 
<br>
some text here some text here some text here some text here