亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從長文本中提取電子郵件(PHP)

從長文本中提取電子郵件(PHP)

PHP
梵蒂岡之花 2023-03-04 14:19:32
我必須找到從網頁源代碼中提取電子郵件地址的方法。    $str=  "<a h=ref=3D.mailto:[email protected].><img src=3D.http://www.lowiecki.pl/img/list.gif=        . border=3D.0.></a></td><td class=3D.bb.>        $a = preg_split( "/ [:] /", $str )";    for($i=0;$i<count($a);$i++)        echo $a[$i];我試過了,但我不知道如何對子字符串“pl”設置限制。
查看完整描述

2 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

電子郵件地址可能比我們習慣的形式復雜得多,請參閱不常見的有效地址示例。

在https://emailregex.com/上提出了一個幾乎完美但非常復雜的正則表達式,用于匹配大多數電子郵件地址形式。

您可以使用這個更短但更具限制性的表達式,該表達式源自 Jan Goyvaerts 在https://www.regular-expressions.info/email.html上提出的一個表達式:/\b[A-Z0-9][A-Z0-9._%+-]{0,63}@(?:[A-Z0-9-]{1,63}\.){1,125}[A-Z]{2,63}\b/i

在 PHP 腳本中,可以這樣實現:

<?php

$str = "<a h=ref=3D.mailto:[email protected].><img src=3D.http://www.lowiecki.pl/img/list.gif=

        . border=3D.0.></a></td><td class=3D.bb.><a h=ref=3D.mailto:[email protected].>foo</a>";


preg_match_all(

    '/\b[A-Z0-9][A-Z0-9._%+-]{0,63}@(?:[A-Z0-9-]{1,63}\.){1,125}[A-Z]{2,63}\b/i', # After https://www.regular-expressions.info/email.html

    quoted_printable_decode($str), # An e-mail address may be corrupted by the quoted-printable encoding.

    $matches

);


echo isset($matches[0]) ? '<pre>'.print_r($matches[0], true).'</pre>' : 'No address found.';

?>

該腳本輸出:


Array

(

    [0] => [email protected]

    [1] => [email protected]

)

請務必致電$matches[0]以獲取找到的地址。


查看完整回答
反對 回復 2023-03-04
?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

接下來的代碼將搜索一封電子郵件并將其保存到一個變量中,之后您可以根據需要使用結果。


$email = preg_match_all(

  "/[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}/i",

  $str,

  $listofemails

);


if($email) {

   echo "you got a match";

}


查看完整回答
反對 回復 2023-03-04
  • 2 回答
  • 0 關注
  • 149 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號