如何从preg_replace中提取数据

时间:2013-08-31 07:43:29

标签: php mysql

我希望能够从preg_replace函数或str_replace函数中获取数据。例如,我想转换以@开头的任何字符串。但我想提取以@开头的字符串并将其放入我的数据库中!那么我怎样才能提取以@?

开头的特定单词

这是我的代码:

$string = "@james is awespome";

$convert = preg_replace('@','<a href="#">@$1</a>','$string');

mysql_query( insert stuff);

我希望能够在数据库中插入@james或james

2 个答案:

答案 0 :(得分:1)

<?php
$string = "@james is awespome";
$convert = preg_replace('/(@.*?)\s.*/','$1', $string);
print $convert;

打印@james

答案 1 :(得分:1)

改为使用preg_match

$string = "@james is awespome";
preg_match('/@([A-Za-z0-9_]{1,15})/', $string, $convert); 
//matches @<string of length upto 15 chars>
echo $convert[0];

输出:

@james

<强> Demo!