Display only part of the webpage

This script displays all the information from the page from “Chapter” right up to “Protocol”. I need only the nickname Head to display. That is, to parse from “Head” to the end of the nickname of the Head himself. How to fix? I understand that only the line needs to be changed:

preg_match_all('/(: .*?")/', $str, $name);

Answer 1, authority 100%

preg_match_all('~<b>(: </b><a class=pi href=\'pl_info.php?id=\d+\'>.*?)</a>~', $str, $name);

Yes, my mistake. forgot “?” escape

here’s the new version:

if (preg_match_all('~<b>(: </b><a class=pi href=\'pl_info.php\?id=\d+\'>(.*?))</a>~u', $str, $name)){
    print_r($name);
}

outputs:

Array
(
    [0] => Array
        (
            [0] => <b>: </b><a class=pi href='pl_info.php?id=4598'></a>
        )
    [1] => Array
        (
            [0] => : </b><a class=pi href='pl_info.php?id=4598'>
        )
    [2] => Array
        (
            [0] => 
        )
)