doulai2573 2014-10-07 15:39
浏览 25
已采纳

特定单词后防止换行(php)

I have a long text and I would like to add a no-wrap after specific key words. Lets say: 'Mr.', 'the', 'an' the only problem is I do not know what word will be after the key. So if I have a text like:

... there is an elephant in the room ...

script should change it to:

... there is <span class="no-wrap">an elephant</span> in <span class="no-wrap"> the room</span> ...

I know that it should be done with regular expression of some sort but I am really bad at those. So any tips on how to do this in php?

  • 写回答

1条回答 默认 最新

  • dqk77945 2014-10-07 15:42
    关注

    Capture Mr., the, an strings and also the following word into a group.

    (\b(?:Mr\.|the|an)\h+\S+)
    

    Replacement string:

    <span class="no-wrap">$1</span>
    

    DEMO

    Code:

    <?php
    $string = "... there is an elephant in the room ...";
    echo preg_replace('~(\b(?:Mr\.|the|an)\h+\S+)~', '<span class="no-wrap">$1</span>', $string)
    ?>
    

    Output:

    ... there is <span class="no-wrap">an elephant</span> in <span class="no-wrap">the room</span> ...
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误