草庐IT

Preg_Match

全部标签

php - preg_replace 如何仅替换选择器内匹配的 xxx($1)yyy 模式

我正在尝试使用正则表达式仅删除字符串的匹配部分。我正在使用preg_replace函数,并尝试通过在匹配部分周围放置括号来删除匹配的文本。示例:preg_replace('/text1(text2)text3/is','',$html);不过,这会将整个字符串替换为''。我只想删除text2,但保持text1和text3不变。如何仅匹配和替换匹配的字符串部分? 最佳答案 使用backreferences(即括号)仅保留您想要记住的表达式部分。您可以使用$1、$2等调用替换字符串中的内容:preg_replace('/(text1)t

PHP - 检测字符串之间的空格

如何检测字符串之间的空格?例如,我有一个名称字符串,如:“简·多伊”请记住,我不想修剪或替换它,只是检测第一个和第二个字符串之间是否存在空格。 最佳答案 按照Josh的建议使用preg_match:输出:int(1)int(0)int(1) 关于PHP-检测字符串之间的空格,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1161708/

PHP - 检测字符串之间的空格

如何检测字符串之间的空格?例如,我有一个名称字符串,如:“简·多伊”请记住,我不想修剪或替换它,只是检测第一个和第二个字符串之间是否存在空格。 最佳答案 按照Josh的建议使用preg_match:输出:int(1)int(0)int(1) 关于PHP-检测字符串之间的空格,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1161708/

php - 如何使用 preg_replace_callback?

我有以下HTML语句[otsection]Wallpapers[/otsection]WALLPAPERSGOHERE[otsection]Videos[/otsection]VIDEOSGOHERE我想要做的是用htmldiv替换[otsection]标签。问题是我想将div的id从1->2->3等递增。所以比如上面的语句应该翻译成WallpapersWALLPAPERSGOHEREVideosVIDEOSGOHERE据我研究,最好的方法是通过preg_replace_callback在每次替换之间增加id变量。但经过1小时的工作后,我无法让它工作。对此的任何帮助将不胜感激!

php - 如何使用 preg_replace_callback?

我有以下HTML语句[otsection]Wallpapers[/otsection]WALLPAPERSGOHERE[otsection]Videos[/otsection]VIDEOSGOHERE我想要做的是用htmldiv替换[otsection]标签。问题是我想将div的id从1->2->3等递增。所以比如上面的语句应该翻译成WallpapersWALLPAPERSGOHEREVideosVIDEOSGOHERE据我研究,最好的方法是通过preg_replace_callback在每次替换之间增加id变量。但经过1小时的工作后,我无法让它工作。对此的任何帮助将不胜感激!

PHP preg_replace/preg_match 与 PHP str_replace

任何人都可以给我一个差异的快速总结吗?在我看来,他们都在做同样的事情吗? 最佳答案 str_replace替换字符串的特定出现,例如“foo”将只匹配和替换:“foo”。preg_replace将进行正则表达式匹配,例如“/f.{2}/”将匹配并替换“foo”,以及“fey”、“fir”、“fox”、“f12”等[编辑]自己看看:$string="foofighters";$str_replace=str_replace('foo','bar',$string);$preg_replace=preg_replace('/f.{2}/

PHP preg_replace/preg_match 与 PHP str_replace

任何人都可以给我一个差异的快速总结吗?在我看来,他们都在做同样的事情吗? 最佳答案 str_replace替换字符串的特定出现,例如“foo”将只匹配和替换:“foo”。preg_replace将进行正则表达式匹配,例如“/f.{2}/”将匹配并替换“foo”,以及“fey”、“fir”、“fox”、“f12”等[编辑]自己看看:$string="foofighters";$str_replace=str_replace('foo','bar',$string);$preg_replace=preg_replace('/f.{2}/

PHPMailer 生成 PHP 警告 : stream_socket_enable_crypto(): Peer certificate did not match expected

我在PHP5.6上使用PHPMailer,在PHP5.6中增强的证书安全性当然很有趣。我正在尝试向Dreamhost上托管的域发送测试消息,PHPMailer返回的错误是:无法连接到SMTP主机。这个错误是不对的,我启用了日志记录,这就是实际发生的情况。Connection:openingtomx1.sub4.homie.mail.dreamhost.com:25,timeout=30,options=array()Connection:openedS:220homiemail-mx32.g.dreamhost.comESMTPC:EHLOs81a.ikbb.comS:250-homi

PHPMailer 生成 PHP 警告 : stream_socket_enable_crypto(): Peer certificate did not match expected

我在PHP5.6上使用PHPMailer,在PHP5.6中增强的证书安全性当然很有趣。我正在尝试向Dreamhost上托管的域发送测试消息,PHPMailer返回的错误是:无法连接到SMTP主机。这个错误是不对的,我启用了日志记录,这就是实际发生的情况。Connection:openingtomx1.sub4.homie.mail.dreamhost.com:25,timeout=30,options=array()Connection:openedS:220homiemail-mx32.g.dreamhost.comESMTPC:EHLOs81a.ikbb.comS:250-homi

php - 如何使这个 preg_match 不区分大小写?

考虑:preg_match("#(.{100}$keywords.{100})#",strip_tags($description),$matches);我试图在每一侧仅显示100个字符,中间是搜索字符串。这段代码确实有效,但区分大小写。如何使其不区分大小写? 最佳答案 只需在分隔符后添加i修饰符(在您的情况下为#):preg_match("#(.{100}$keywords.{100})#i",strip_tags($description),$matches);如果你的分隔符是/,在它后面添加一个i:preg_match("/y