【问题标题】:Using php to wrap first two words in a span使用 php 将前两个单词包装在一个跨度中
【发布时间】:2017-05-19 04:42:57
【问题描述】:

我正在尝试弄清楚如何使用 php 将字符串的前两个单词包装在 span 中,类似于:

Wrap first and second word in span Clases PHP

但我需要一个跨度中的两个词。例如:

输入字符串:

Apartment 1 8 Share

预期输出:

<span>Apartment 1</span> 8 Share

【问题讨论】:

    标签: php regex preg-replace


    【解决方案1】:

    试试这个最简单的。

    Regex code demo

    正则表达式: ^([^\h]+\s[^\h]+)

    如果空格一开始就出现,我们可以选择使用^(\s*[^\h]+\s[^\h]+)\s* 是零个空格。

    1. ^ 字符串开头。

    2. [^\h] 匹配除了水平空白。

    3. \s 这将匹配空格。

    4. [^\h]+ 匹配除水平空白之外的所有内容。

    5. () 将捕获$1 中的第一个捕获组

    我们可以选择使用\s 代替\h

    Try this code snippet here

    <?php
    ini_set('display_errors', 1);
    
    $string="Apartment 1 8 Share";
    echo preg_replace("/^([^\h]+\s[^\h]+)/", "<span>$1</span>", $string);
    

    【讨论】:

    • 成功了!太感谢了。我对正则表达式很陌生,所以我很抱歉:)
    猜你喜欢
    • 2017-10-12
    • 1970-01-01
    • 2014-03-20
    • 2011-01-13
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    相关资源
    最近更新 更多