gpt4 book ai didi

php explode 查找数组键

转载 作者:行者123 更新时间:2023-11-29 00:00:23 24 4
gpt4 key购买 nike

我有这个 mysql 查询(使用 pdo):

SELECT DISTINCT CONCAT (nompropre, ' ', Auteur, ' de ', localite) AS auteur FROM Actes ORDER BY nompropre

它用于创建一个选择菜单。尝试分析从表单收到的输入(选择):

<option value=" abbé de Val-Saint-Lambert"> abbé de Val-Saint-Lambert</option>
<option value=" abbé de Waulsort"> abbé de Waulsort</option>
<option value="Arnoul III comte de Looz et Chiny">Arnoul III comte de Looz et Chiny</option>
<option value="Arnoul III seigneur de Looz et Chiny">Arnoul III seigneur de Looz et Chiny</option>
<option value="Jean de Wasnes chevalier de ">Jean de Wasnes chevalier de </option>
<option value="Adam évêque de Morinie">Adam évêque de Morinie</option>

然后我这样做:

$parts =  explode(' ', $_GET['nompropre']);

我需要做的是重建我首先连接的 mysql 字段,这样我就可以结束这样的查询(对应于上面示例中的最后一个选择):

SELECT * FROM Actes, Bibliographie WHERE id = idBiblio AND nompropre = 'Adam' and Auteur = 'évêque' AND localite = 'Morinie';

为此,我可以隔离一个字符串 (abbé || comte || seigneur) 并将其设为 Auteur(用于 mysql 查询获取结果的目的)

该字符串之前的所有内容都应该成为正常的

单词“de”(如果存在于该字符串之后)应该被删除,并且

单词“de”(删除)之后的所有内容都应该成为 mysql 查询的本地化。

也许 preg_match 和 preg_replace 可以完成这项工作。

最佳答案

我不会说法语,所以我很难弄清楚您到底需要什么,但据我了解,您需要这样的正则表达式:

$string = "Arnoul III comte de Looz et Chiny";
$pattern = "/^(.*)(abbé|comte|seigneur|seigneur|évêque|chevalier){1} de (.*)$/";
$nompropre = preg_replace($pattern, "$1", $string);
$auteur = preg_replace($pattern, "$2", $string);
$localite = preg_replace($pattern, "$3", $string);

关于php explode 查找数组键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30098539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com