我有一个数组包含一些字符串,每个字符串都包含城市名称。
城市名称有时存在于字符串的开头,有时位于字符串的中间,有时位于字符串的末尾。
问题
如何创建仅包含城市名称的新数组?
function drop_handler(event) {
// this is part of the ability to drag sleuth images onto the OOC
// Prevent default behavior (Prevent file from being opened)
event.preventDefault();
var items = event.dataTransfer.items;
for (var i = 0; i < items.length; i++) {
var item = items[i];
if (item.kind === 'string') {
item.getAsString(function(data) {
document.getElementById("sleuth").innerHTML = data;
});
}
}
}
答案 0 :(得分:0)
试试这个:
$messagesStrings = [
'H…cus',
'Fire reported in the main market in Mogadishu',
'Funtimes in Ibiza',
'Lovely shisa in Cairo,Egypt',
'Blimey! Protests in Tahrir , can\'t go home',
'Stuck in traffic in Nairobi',
'Kathmandu is beatiful',
'Lovely football at the Bernabau, Madrid, Spain',
'I hate my government, Athens',
'Life is full of surprises in Istanbul'
];
$regex = '/Madrid|Spain|Ibiza/';
preg_match_all($regex, implode(' ', $messagesStrings), $matches);
var_dump($matches[0]);
<强>输出强>
array(3) {
[0]=>
string(5) "Ibiza"
[1]=>
string(6) "Madrid"
[2]=>
string(5) "Spain"
}
直播示例
答案 1 :(得分:0)
嗯,由于搜索字符串中可能存在所有内容,您需要数据库中的城市列表,并在搜索字符串本身中找到它们。如果没有类似的东西,那就意味着,即使它是一个真正的城市,它也不会在数据库中,因此它不会在那里进行。但是如果你能找到类似的,你可以从搜索字符串中删除它,并从数据库中获取城市的详细信息。