在文本php中粘贴一段后面的符号

时间:2018-03-19 13:29:54

标签: php regex

我有一个文字:

  

Lorem ipsum dolor坐下来,精神恍惚。 ISTE   mollitia similique,blanditiis quisquam suscipit optio quam culpa odit   ad magni sunt officiis,recusandae deleniti别名,natus commodi sed   expedita labore。

     

Lorem ipsum dolor坐下来,精神恍惚。 Quae   分散的,无限的。 Autem commodi dicta,numquam natus illum   recusandae quos! Veniam nulla et temporibus必要的vero   recusandae tempora saepe!

如何使用php在每个段落后粘贴符号{{id}} ?我需要使用preg_replace

2 个答案:

答案 0 :(得分:0)

您可以使用:

str_replace("\r\n\r\n", "{{id}}\r\n\r\n", $variableWithTheText)

这假定您的段落由两个\r\n

分隔

答案 1 :(得分:0)

See regex in use here

(?=\n\s*\n|\z)
  • (?=\n\s*\n|\z)肯定前瞻,确保以下选项之一匹配
    • \n\s*\n匹配换行符,任意数量的空白字符和另一个换行符。 \n{2}\n\n未被使用的原因是因为有时人意外地添加了其他空格字符,例如空格,因此正则表达式不会捕获这些位置它不是两个\n背靠背。
    • \z断言字符串末尾的位置。这与最后一段的结尾相匹配。

替换:{{id}}

See code in use here

<?php

$re = '/(?=\n\s*\n|\z)/';
$str = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste mollitia similique, blanditiis quisquam suscipit optio quam culpa odit ad magni sunt officiis, recusandae deleniti alias, natus commodi sed expedita labore.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae distinctio atque, eos quo. Autem commodi dicta, numquam natus illum recusandae quos! Veniam nulla et temporibus necessitatibus vero recusandae tempora saepe!';
$subst = '{{id}}';

echo preg_replace($re, $subst, $str);

结果:

  

Lorem ipsum dolor坐下来,精神恍惚。 ISTE   mollitia similique,blanditiis quisquam suscipit optio quam culpa odit   ad magni sunt officiis,recusandae deleniti别名,natus commodi sed   expedita labore。{{id}}

     

Lorem ipsum dolor坐下来,精神恍惚。 Quae   分散的,无限的。 Autem commodi dicta,numquam natus illum   recusandae quos! Veniam nulla et temporibus必要的vero   recusandae tempora saepe!{{id}}