Javascript的PHP函数:扫描字符串并在数组中添加单词
PHP function to Javascript: scan string and add words in array
我正在尝试将这个php函数转换为javascript:
function sanitize_words($string,$limit=false) {
preg_match_all("/'p{L}['p{L}'p{Mn}'p{Pd}''x{2019}]{1,}/u",$string,$matches,PREG_PATTERN_ORDER);
return $matches[0];
}
基本上,它接受这个字符串:
$string = "Why hello, how are you?"
$array = sanitize_words($string);
并将其转换为数组:
$array[0] = 'Why';
$array[1] = 'hello';
$array[2] = 'how';
$array[3] = 'are';
$array[4] = 'you';
它在php上工作得很好,但我不知道如何在javascript上实现它,因为phpjs.org中没有preg_match_all。什么好主意吗?谢谢。
使用String.match
方法,在RegEx上设置g
(全局)标志。'w
等于[a-zA-Z0-9_]
。如果你真的想要模仿你当前的模式,使用该页作为参考来转换JavaScript模式中的字符属性。
function sanitize_words($string) {
return $string.match(/'w+/g);
}
JavaScript split()
函数将使用分隔符从任何字符串生成数组。在本例中,空格。
var str = "Why hello, how are you?".split(" ")
alert(str[0]) // = "Why"
你不需要正则表达式,在javascript中分割就可以了。
<script type="text/javascript">
var myString = "zero one two three four";
var mySplitResult = myString.split(" ");
for(i = 0; i < mySplitResult.length; i++){
document.write("<br /> Element " + i + " = " + mySplitResult[i]);
}
</script>
显示:
Element 0 = zero
Element 1 = one
Element 2 = two
Element 3 = three
Element 4 = four
作为一个旁注,在你的PHP脚本中,如果你想做的只是创建一个词数组,你应该使用explode()
,它有一个更少的开销:
<?php
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
// to remove non alpha-numeric chars, and still less costly
$pizza = preg_replace('/[^a-zA-Z0-9's]/', '', $pizza);
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
?>
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 对不同的数组进行切片并返回选定的值
- 在字符串中查找所有图像 src URL 并存储在数组中
- 将IndexedDB中的数据拉入数组,并通过ReactJS输出
- 将JS数组附加到变量并显示它
- 如何循环通过2个对象数组并通过匹配id进行合并
- 如何在不使用ajax的情况下将pair值添加到数组并发送到django中的视图
- 如何获取文本框组的值,并使用jquery将它们放入(key:Value)数组中
- JSON到对象数组,并向每个对象添加项
- 从数组中删除重复条目,并在javascript中按顺序排列
- JS:从整个数组中每次得到5个项目,并得到平均值
- 检查数组中是否存在字符串值,并返回找到的数组值js
- 如何在javascript中循环并将JSON对象放入数组中
- 从二维数组中获取img src和img维度,并在body中显示
- 如何将数组附加到下拉导航栏并禁用其中的一个选项
- Javascript将数组转换为字符串并使其反向输出
- 如何使用Knockout Mapping插件映射到来自服务器对象的数组,并进行一些计算
- 如何使用Jquery水平打印表中的数组元素,并在某个元素之后垂直打印
- Javascript从数组中随机选择并按字母顺序排列
- 有效地串行化(并从nodejs读取)int数组