2012-11-01 57 views
0

我想从使用jquery的选择列表中获取标签值,将其写入隐藏文本输入,然后在php模板中显示该值。 - (没有办法直接在数据中访问字段,这是我的工作。)带Unicode?字符串中的连字符和空格php

所以我可以抓住标签值,将其传递给隐藏和显示。但标签被格式化如此“ - 最新消息” 我想剥离空白和连字符/减号,所以我留下“最新消息”

通过尝试通常的功能,他们不工作它发生在我身上,当它没有工作,这些可能是unicode字符。当我使用以下内容:

$mycategory = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $mycategory); 
$mycategory = htmlentities($mycategory, ENT_QUOTES, "UTF-8"); 
$mycategory = str_replace("-", "", $mycategory); 

echo '<h1>'.$mycategory.'</h1>'; 

第1行我替换了前面的unicode空白。返回“ - 最新消息” 第2行:我将实体更改为html 第3行:我摆脱了实体。但这返回“最新消息”

所以我不能摆脱最后一个空间与修剪或preg_replace。我不知道如何摆脱它。如果我把第三行的搜索词放在空格中,它会打破替换。

+0

尝试模式:\ W +!未经测试:) – deb0rian

+0

对不起,我不知道多少关于grep,不知道你的意思,在开始preg_replace或转换为htmlentities后... – liz

+0

preg_replace('!\ W +!','',..... – deb0rian

回答

1

嘛,,, grrr..had打开PHP :)

$str = '- Latest news !*#'; 
echo preg_replace('/[^[:alnum:]\s]/','',$str); 
+0

感谢您打开php :-)!你可以解释吗?那是我正在处理的unicode吗?如果是这样,为什么没有这些特性将其转换?还有,它最初得到unicode编码还是发生在我从选择中抓取它时发生的? – liz

+0

其实。我只是脱掉所有不是a-z 0-9和空格的东西,所以它里面的东西真的没什么关系,一切都被擦掉:) – deb0rian

+1

ahhh聪明!再次感谢。 – liz