정규식에서 도움이 필요합니다. 문자열의 일부 문자 뒤에 숫자를 찾으십시오. 그 숫자를 얻고 수학을 적용한 후에 그것을 대체하십시오. 통화 변환처럼.특정 문자 다음에 나오는 문자열에서 숫자를 가져 와서 그 숫자를 변환하십시오.
난 https://regex101.com/r/KhoaKU/1
([^ \?] ) AUD (\ D)
정규식 여기에만 40 유사한 것 모두 유사한 참조 할 해결되지이 정규 표현식을 적용하지만 거기 또한 20.00, 9.95 등. 나는 모든 것을 얻으려고 노력하고있다. 그들을 변환하십시오. 그냥 모든 값을 얻을 simpleConvert
로 변환, 정수/부동 소수점 숫자와 값을 받고 후 정규식을 사용해야하는 경우
function simpleConvert($from,$to,$amount)
{
$content = file_get_contents('https://www.google.com/finance/converter?a='.$amount.'&from='.$from.'&to='.$to);
$doc = new DOMDocument;
@$doc->loadHTML($content);
$xpath = new DOMXpath($doc);
$result = $xpath->query('//*[@id="currency_converter_result"]/span')->item(0)->nodeValue;
return $result;
}
$pattern_new = '/([^\?]*)AUD (\d*)/';
if (preg_match ($pattern_new, $content))
{
$has_matches = preg_match($pattern_new, $content);
print_r($has_matches);
echo simpleConvert("AUD","USD",$has_matches);
}
을보기를 일치시킬 필요가있는 값은'이다 40'? 정규 표현식이 맞습니까? –
정확히 무엇이 문제입니까? – jeroen
@ WiktorStribiżew 정규식이 맞지 않습니다. 여기 일치하는 모든 숫자를 원하면 40과 일치하지만 20.00, 9.95 등도 있습니다. 모두 얻으려고합니다. 그들을 변환하십시오. –