加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 删除长单词正则表达式

发布时间:2020-12-13 21:42:43 所属栏目:PHP教程 来源:网络整理
导读:我想如何从字符串中删除长字.大于长度的单词n. 我尝试了以下方法: //remove words which have more than 5 characters from string$s = 'abba bbbbbbbbbbbb 1234567 zxcee ytytytytytytytyt zczc xyz';echo preg_replace("~s(.{5,})s~isU"," ",$s); 给出
我想如何从字符串中删除长字.大于长度的单词n.

我尝试了以下方法:

//remove words which have more than 5 characters from string
$s = 'abba bbbbbbbbbbbb 1234567 zxcee ytytytytytytytyt zczc xyz';
echo preg_replace("~s(.{5,})s~isU"," ",$s);

给出输出(不正确):

abba 1234567 ytytytytytytytyt zczc xyz

解决方法

<?php
//remove words which have more than 5 characters from string
$s = 'abba bbbbbbbbbbbb 1234567 zxcee ytytytytytytytyt zczc xyz';

$patterns = array(
    'long_words' => '/[^s]{5,}/','multiple_spaces' => '/s{2,}/'
);

$replacements = array(
    'long_words' => '','multiple_spaces' => ' '
);
echo trim(preg_replace($patterns,$replacements,$s));
?>

输出:

abba zczc xyz

更新,以解决您在评论中提出的问题.你可以这样做:

<?php
//remove words which have more than 5 characters from string
$s = '123&nbsp;ReallyLongStringComesHere&nbsp;123';

$patterns = array(
    'html_space' => '/&nbsp;/','long_words' => '/[^s]{5,}/'
);

$replacements = array(
    'html_space' => ' ','long_words' => '','multiple_spaces' => ' '
);
echo str_replace(' ','&nbsp;',trim(preg_replace($patterns,$s)));
?>

输出:

123&nbsp;123

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读