You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现提交文本框后通过preg_match提取指定内容?

嘿,我来帮你搞定这个需求!其实实现起来很简单,分前端提交表单和后端PHP处理两部分,核心是用preg_match写对正则表达式,精准提取你想要的内容。

完整实现方案

1. 前端表单(让用户输入内容)

先写一个简单的HTML表单,用户可以在文本框里输入目标字符串,提交给PHP处理:

<form method="POST" action="">
    <label for="input_text">输入内容:</label>
    <input type="text" id="input_text" name="input_text" placeholder="比如:You found luke in his house, kitchen">
    <button type="submit">提交提取</button>
</form>

2. 后端PHP处理(用preg_match提取内容)

接下来是核心逻辑:接收表单提交的内容,用正则表达式匹配并提取你要的部分。

正则表达式说明

针对你给出的例子You found luke in his house, kitchen,我们需要提取his后面的内容(也就是house, kitchen)。对应的正则可以写成:

$pattern = '/in his (.*)$/i';
  • in his :匹配固定的字符串片段(注意后面有空格)
  • (.*):捕获组,匹配任意字符(除了换行)任意次数,这就是我们要提取的内容
  • $:匹配字符串的结尾,确保我们提取到最后
  • i:不区分大小写,比如输入In His也能匹配

PHP处理代码

把下面的代码和上面的HTML放在同一个PHP文件里(比如index.php):

<?php
// 检查是否有POST提交
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['input_text'])) {
    $input = trim($_POST['input_text']);
    $pattern = '/in his (.*)$/i';
    $matches = [];
    
    // 执行正则匹配
    if (preg_match($pattern, $input, $matches)) {
        // $matches[1]就是捕获到的内容
        echo "<p>提取结果:<strong>{$matches[1]}</strong></p>";
    } else {
        echo "<p>⚠️ 输入格式不对,请检查是否包含类似'in his'的片段!</p>";
    }
}
?>

3. 测试效果

当你输入You found luke in his house, kitchen并提交后,页面会输出:

提取结果:house, kitchen

如果输入的内容不符合格式(比如Hello world),会提示格式错误。

灵活调整正则

如果你的输入可能有其他变体(比如in her或者in the),可以修改正则来适配:
比如要匹配in his或in her后面的内容:

$pattern = '/in (his|her) (.*)$/i';
// 提取的内容还是$matches[2]

这样就能根据你的实际需求灵活调整啦!

内容的提问来源于stack exchange,提问作者user7553556

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:45:09