我正在处理Wordpress项目,我需要删除从placehold.it生成的图像链接,并从查询字符串中提取文本。但是,我需要实现str_replace
和substr
以及strstr
函数 - 但这一切都需要在javascript中完成(理想情况下是jQuery,如果有的话)。< / p>
所以这是img src:
http://via.placeholder.com/387x232/E9967A/f0b9a6?text=30ft+x+50ft
我需要将其剥离以生成以下字符串:
30-50
我喜欢这个,在PHP中:
str_replace(array("=","ft","+","x"),array("","","","-"),substr(strstr($text,"="),0));
但是我如何在javascript中执行上述操作?是否有可能更容易,更紧凑的方式来做我想要实现的目标?
答案 0 :(得分:3)
我不会使用其中任何一种。我使用正则表达式。 什么正则表达式取决于该字符串的哪些部分不变。例如:
var result = str.match(/\d+(?=ft)/g).join("-");
搜索一系列数字后跟ft
(不使用ft
,通过正向前瞻断言)并将生成的匹配数组连接到字符串中以-
分隔。
实例:
var str = "http://via.placeholder.com/387x232/E9967A/f0b9a6?text=30ft+x+50ft";
var result = str.match(/\d+(?=ft)/g).join("-");
console.log(result);
&#13;
对于您在想要str_replace
等情况下使用的JavaScript功能,在PHP中,这里有一个列表:
答案 1 :(得分:1)
var size=string.split("=")[1].split("ft").join("").split("+x+").join("-");
简单地把所有内容都放在=
之后.split("=")[1]
删除所有 ft :
.split("ft").join("")
将 + x + 替换为 - :
.split("+x+").join("-");
//or
.replace("+x+","-");
答案 2 :(得分:0)
如果您想使用php进行操作,可以尝试使用parse_url()然后使用preg_match()从解析后的网址中获取确切的值。
示例:
<?php
$parsedUrl = parse_url('http://via.placeholder.com/387x232/E9967A/f0b9a6?text=30ft+x+50ft', PHP_URL_QUERY);
var_dump($parsedUrl);
// Output: string(16) "text=30ft+x+50ft"
$expression = preg_match('/.*?(\d+).*?(\d+)/is', $parsedUrl, $matches);
if ($expression) {
var_dump($matches);
}
最终输出:
array(3) {
[0]=>
string(14) "text=30ft+x+50"
[1]=>
string(2) "30"
[2]=>
string(2) "50"
}