如何使用PHP验证超链接中的纯文本(链接文本)?

I am using simple html dom to fetch datas from other websites. while fetching data it fetches both hyperlinks with plain text and without plain text. I want to remove hyperlinks without plain text(link text) while fetching the data .. i have tried below codes

if($title==""){ echo "No text";} 

and

if(ctype_space($title)) { echo "No text";} 

where $title is the plaintext fetched from the website

but both method didnt worked..can any one help

Advance thanks for your help

Until you give us more information on what value is my best guess would be to try something like this

if(empty($title))
{
    echo "No Text";
}

You need to use preg_match, with a regular expression, to extract the link text. For example

if (preg_match("/<a.*?>(.*?)</",$title,$matches))
{
   echo $matches[1];
}

Does it really need to be "plain text validation"?

Reading your question it seems you just want to remove links with empty values.

If the latter is true, you can do something like this:

$html = <<<EOL
<a href="#">Text</a>
<a href="#"></a>
<a href="#">More Text</a>
<a href="#"></a>
EOL;

$dom = new DOMDocument;
$dom->loadHTML($html);

$links = $dom->getElementsByTagName('a');

foreach ($links as $link) {
    if (strlen(trim($link->nodeValue)) == 0) {
        $link->parentNode->removeChild($link);
    }
}

var_dump($dom->saveHTML());
$dom = new DOMDocument;
$dom->loadHTML($html);
$xPath = new DOMXPath($html);

$links_array = $xPath->query("//a"); // select all a tags

$totalLinks = $links_array->length; // how many links there are.

for($i = 0; $i < $totalLinks; $i++) // process each link one by one
{
   $title = $links_array->item($i)->nodeValue; // get LInkText
   if($title == '') // if no link text
   {

      $url = $links_array->item($i)->getAttribute('href');
      // do here what you want 
    }

}