使用jQuery / PHP删除通配符

时间:2011-05-19 01:47:29

标签: php jquery text input preg-replace

嘿伙计们,我希望我能够尽可能简单地解释这一点。基本上我正在编译一个列表,为此我需要在某个触发词后删除一堆文本。

Example of what I am trying to achieve is here

假设我刚刚在文本框中粘贴了大量文字,我希望除了第一个用户名之外删除所有内容。

例如......

r-u-f-f-i-a-n从youaref0rsaken

转发了此帖

youaref0rsaken从loveeoutoflust

转发了此帖

loveeoutoflust从yourwatchfuleye

转发了此帖

我想转入

R-U型F-F-I-A-N

youaref0rsaken

loveeoutoflust

使用带有输入的文本框,按钮和显示输出的文本框。我尝试使用jquery和php preg_replace这样做,但无法让它正常运行。

有人能帮助我吗?

3 个答案:

答案 0 :(得分:1)

$pattern = '/reblogged this from [\w]+/';
$string = "r-u-f-f-i-a-n reblogged this from youaref0rsaken youaref0rsaken reblogged this from loveeoutoflust loveeoutoflust reblogged this from yourwatchfuleye";
echo preg_replace( $pattern, '', $string);

会给你结果

r-u-f-f-i-a-n youaref0rsaken loveeoutoflust 

答案 1 :(得分:0)

<击> 查看javascripts替换功能

string.replace(regexp/substr,newstring)

作为一个例子,使用下面的代码http://jsfiddle.net/vwhCx/查看这个小提琴 注意:如果regexp的概念对你来说是新的,那么唯一要知道的是:/从/ g中得到的结果是// g表示可以全球化,或者多于一个匹配。

<div id="boxy-1"> r-u-f-f-i-a-n reblogged this from youaref0rsaken youaref0rsaken reblogged this from loveeoutoflust loveeoutoflust reblogged this from yourwatchfuleye </div>

<button>transform</button>
<script type="Text/javascript">
$(document).ready(function() {
  $('button').click(function() {
    //get text from box
    var str = $('#boxy-1').text()
    //empty box
    $('#boxy-1').empty();
    //insert formatted sting 
    $('#boxy-1').append(str.replace(/reblogged this from/g, ' '));
  });
)};

</script>

<击>

更新

根据您的评论我已将我的代码更改为在文本区域工作

使用此

<textarea id="boxy-1"> r-u-f-f-i-a-n reblogged this from youaref0rsaken youaref0rsaken reblogged this from loveeoutoflust loveeoutoflust reblogged this from yourwatchfuleye</textarea>

<button>transform</button>

<script type="text/javascript">
$(document).ready(function() {
  $('button').click(function() {
    //get text from box
    var str = $('#boxy-1').text()
    //empty box
    $('#boxy-1').empty();
    //insert formatted sting 
    $('#boxy-1').val(str.replace(/reblogged this from/g, ' '));
 });
});

新的实例:http://jsfiddle.net/K3LZU/

最后编辑

如果您尝试将其显示为列表,或者新行尝试str.replace(/从/ g,'\ n'中搜索),\ n表示换行符

答案 2 :(得分:0)

如果它始终是第一个单词,你可以做这样简单的事情:

$s = 'youaref0rsaken reblogged this from loveeoutoflust';
$a = explode(' ',$s);
echo $a[0];