繁体   English   中英

PHP正则表达式子字符串

[英]PHP Regular Expression Sub String

<select name="states">
    <option value="">--  Select State / Province  --</option>
    <option value="1">Alabama</option><option value="2">Alaska</option>
    <option value="4">Arizona</option><option value="3">Arkansas</option>
    <option value="5">California</option><option value="6">Colorado</option>
    <option value="7">Connecticut</option>
    <option value="8">Delaware</option>
    <option value="9">District Of Columbia</option>
    <option value="10">Florida</option>
    <option value="11">Georgia</option><option value="12">Hawaii</option>
    <option value="13">Idaho</option>
    <option value="14">Illinois</option><option value="16">Indiana</option>
    <option value="15">Iowa</option>
    <option value="17">Kansas</option><option value="18">Kentucky</option>
    <option value="19">Louisiana</option>
    <option value="20">Maine</option>
    <option value="21">Maryland</option>
    <option value="23">Massachusetts</option>
    <option value="22">Michigan</option><option value="25">Minnesota</option>
    <option value="24">Mississippi</option>
    <option value="26">Missouri</option><option value="27">Montana</option>
    <option value="28">Nebraska</option><option value="39">Nevada</option>
    <option value="29">New Hampshire</option>
    <option value="30">New Jersey</option><option value="31">New Mexico</option>
    <option value="32">New York</option>
    <option value="33">North Carolina</option>
    <option value="34">North Dakota</option>
    <option value="35">Ohio</option><option value="36">Oklahoma</option>
    <option value="37">Oregon</option>
    <option value="38">Pennsylvania</option>
    <option value="40">Rhode Island</option>
    <option value="41">South Carolina</option>
    <option value="42">South Dakota</option>
    <option value="43">Tennessee</option>
    <option value="44">Texas</option>
    <option value="45">Utah</option>
    <option value="46">Vermont</option>
    <option value="47">Virginia</option>
    <option value="48">Washington</option>
    <option value="49">West Virginia</option>
    <option value="50">Wisconsin</option><option value="51">Wyoming</option>
</select>

如何提取选项标签> <中的每个字符串?

尝试这个

 
 
 
  
  preg_match_all('/(?<=<)[^>]+(?=>)/m', $subject, $result, PREG_PATTERN_ORDER); for ($i = 0; $i < count($result[0]); $i++) { # Matched text = $result[0][$i]; }
 
  

说明

 
 
 
  
  " (?<= # Assert that the regex below can be matched, with the match ending at this position (positive lookbehind) < # Match the character “<” literally ) [^>] # Match any character that is NOT a “>” + # Between one and unlimited times, as many times as possible, giving back as needed (greedy) (?= # Assert that the regex below can be matched, starting at this position (positive lookahead) > # Match the character “>” literally ) "
 
  

编辑

也许您可能会选择DOM而不是RegExp

 <?php $xml = <<< XML <?xml version="1.0" encoding="utf-8"?> <select name="states"> <option value="">-- Select State / Province --</option> <option value="1">Alabama</option> <option value="2">Alaska</option> <option value="4">Arizona</option> <option value="3">Arkansas</option> <option value="5">California</option> <option value="6">Colorado</option> <option value="7">Connecticut</option> <option value="8">Delaware</option> <option value="9">District Of Columbia</option> <option value="10">Florida</option> <option value="11">Georgia</option> <option value="12">Hawaii</option> <option value="13">Idaho</option> <option value="14">Illinois</option> <option value="16">Indiana</option> <option value="15">Iowa</option> <option value="17">Kansas</option> <option value="18">Kentucky</option> <option value="19">Louisiana</option> <option value="20">Maine</option> <option value="21">Maryland</option> <option value="23">Massachusetts</option> <option value="22">Michigan</option> <option value="25">Minnesota</option> <option value="24">Mississippi</option> <option value="26">Missouri</option> <option value="27">Montana</option> <option value="28">Nebraska</option> <option value="39">Nevada</option> <option value="29">New Hampshire</option> <option value="30">New Jersey</option> <option value="31">New Mexico</option> <option value="32">New York</option> <option value="33">North Carolina</option> <option value="34">North Dakota</option> <option value="35">Ohio</option> <option value="36">Oklahoma</option> <option value="37">Oregon</option> <option value="38">Pennsylvania</option> <option value="40">Rhode Island</option> <option value="41">South Carolina</option> <option value="42">South Dakota</option> <option value="43">Tennessee</option> <option value="44">Texas</option> <option value="45">Utah</option> <option value="46">Vermont</option> <option value="47">Virginia</option> <option value="48">Washington</option> <option value="49">West Virginia</option> <option value="50">Wisconsin</option> <option value="51">Wyoming</option> </select> XML; $dom = new DOMDocument; $dom->loadXML($xml); $options = $dom->getElementsByTagName('option'); foreach ($options as $option) { echo $option->nodeValue, PHP_EOL; } ?> 

请访问此处以获取更多详细信息。 希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM