php省略号,用preg_replace开头和结尾的整个单词

时间:2013-12-17 09:58:39

标签: php regex preg-replace

尝试创建一个省略号,首先显示字符串的一部分,然后点击功能后显示字符串的其余部分。

找到很多教程来创建ellispis函数,但是尝试了很长时间如何从结尾处获取整个单词。

我试过这样做

<?php

    $text="Lorem ipsum dolor sit amet.";
    //     123456789
    echo substr($text,0,9); // result: "Lorem ips"
    echo '<hr>';

    $start = substr($text,0,9);
    // now this preg_replace() is awesome cause its only returning the entire word
    echo preg_replace('/\w+$/','',$start); //result: "Lorem"

    echo '<hr>';
    echo substr($text,9,strlen($text)); //result:  "um dolor sit amet."

    // now how should this preg_replace be to get result "ipsum dolor sit amet."

?>  

所以问题是:如何使用preg_replace()获取结果"ipsum dolor sit amet."

我试图更改像preg_replace('/\$+w/','',$start);这样的周围事情,但我不知道如何编写该正则表达式。

2 个答案:

答案 0 :(得分:2)

preg_replace('/^\w+\s/','',$text)

答案 1 :(得分:0)

Sorbos的回答完全正确。由于我的问题不是很明确,我不得不改变答案以获得我需要的结果。问题是字符串可能从任何地方(给定位置)开始。所以我仍然不知道是否可以使用preg_replace()

解决这个问题

这给了我相同的结果:

$count=9;
$rest = substr($text,$count,strlen($text));
while( substr($rest, 0,1)!=' ' ) {
    $rest = substr($text,$count,strlen($text));
    $count--;
}
echo $rest;

如果有人有更好的解决方案,请随时发布。 谢谢!