如何使用以下字符串中的`RegExp`废弃此字符串中的数据`Lamp In Box`

时间:2016-07-08 10:51:15

标签: php regex preg-match

如何使用以下字符串中的Lamp In Box废弃此字符串中的数据RegExp -

我想使用regexp

废弃1 Units

我在regexp下面写了但它不起作用。

Regexp - Lamp In Box: '(.*)(s)<\/td>

`<td><b>Price:</b></td>         <td>
                                                                                        <br />Free Ground Shipping&nbsp;<span class="show_free_shipping" style="color:red;">[?]</span>
                                <br />Ship From United States
                            </td>
                        </tr>
                                                <tr>
                            <td><b>Availability:</b></td>
                            <td>
                                                        <b style="color:blue;">In Stock</b>
                                                        </td>
                        </tr>
                        <tr>
                            <td><b>Lamp In Box:</b></td>
                            <td>1 Unit(s)</td>
                        </tr>

                                            </table>
`

2 个答案:

答案 0 :(得分:2)

要获取Lamp In Box的数量,您可以尝试下一个:

$string = <<your input string>>;
$pattern = '/Lamp In Box:.*\s*.*?(\d+) Unit\(s\)/i';
preg_match($pattern, $string, $result);

$result将包含您需要的内容。

答案 1 :(得分:0)

如果我能正确理解您,您可以尝试使用下一个正则表达式:
/(<td>).*Lamp In Box:.*\s*.*?(<\/td>)/i

所以,你可以通过以下方式测试:

$string = <<your input string>>;
$pattern = '/(<td>).*Lamp In Box:.*\s*.*?(<\/td>)/i';
$replacement = '$1$2';
echo preg_replace($pattern, $replacement, $string);

这取代了包含<td></td>

Lamp In Box内的所有内容