使用preg_match在标签之间获取内容

时间:2018-12-13 08:19:52

标签: php

我需要一些使用preg_match的帮助,以便从此html代码中获取“ transferencia de”和“ por”之间的名称,并预先获得“ por”和“ en su cuenta”之间的金额。

<span style=3D"font-weight:bold;color:#000000"> Bancolombia in=
forma recepci=C3=B3n transferencia de LUISA PEREZ por $999,000 en su 
cuenta *=
2465. 13/12/2018 02:11. Dudas 018000931987.</span>

2 个答案:

答案 0 :(得分:1)

function get_string_between($string, $start, $end){
    $string = ' ' . $string;
    $ini = strpos($string, $start);
    if ($ini == 0) return '';
    $ini += strlen($start);
    $len = strpos($string, $end, $ini) - $ini;
    return substr($string, $ini, $len);
}

$fullstring = 'this is my [tag]dog[/tag]';
$parsed = get_string_between($fullstring, '[tag]', '[/tag]');

echo $parsed; // (result = dog)`enter code here`

答案 1 :(得分:1)

<?php
$data = 'Bancolombia in=
forma recepci=C3=B3n transferencia de LUISA PEREZ por $999,000 en su cuenta *= 2465. 13/12/2018 02:11. Dudas 018000931987.';


preg_match('/(?<=transferencia de)(.*)(?=por)/', $data, $name);
echo $name[1];


preg_match('/(?<=por)(.*)(?=en su cuenta)/', $data, $money);
echo $money[1];

只需使用一个简单的正则表达式,因为您知道输出之间的单词,这很容易。