我正在将PDF转换为TXT,在某些条件(即会员号(上出现换行问题。我想在成员编号之前插入换行符<br />
。
成员编号为7个字母数字字符,以0
开头,以字符a-Z结尾,例如069065A
。
/^[0]|[0-9]{5}|[A-Z]$/gm
-匹配第一个和最后一个字符以及5位数字。
如何使用preg_replace预挂换行符而不更改会员号?
更新:
$pattern = '/^[0]|[0-9]{5}|[A-Z]$/gm';
$replacement = '<br />$0';
// execute function
$PDFContent = preg_replace($pattern, $replacement, $text);
不工作并且没有错误消息。
如果您正在匹配一个连续序列的竖线是什么?删除这些并根据您的数据设置边距(如果还没有(。您当前的锚点^
开始和$
结束以及m
多行标志可以从行首到行尾进行匹配。如果此成员身份id出现在较大文本中的某个位置,请使用例如单词边界b
或空白(?<!S)
。。。CCD_ 10。
^0[A-Zd]{5}[A-Z]$
在regex101中查看此演示或在tio.run中查看PHP演示(用<br />$0
替换也可以(。
注意:您可以删除g
标志,它在PHP中不存在。只要未设置$limit
,preg_replace
将始终执行全局替换。^
开始和$
结束锚需要m
标志。如果您使用例如单词边界b
并删除它们,您也可以删除m
标志。