В моем html-коде есть много якорей и ссылок, таких как:
<script src="/Common/Scripts/jquery-1.4.4.min.js" type="text/javascript"></script> <link href="/Common/Css/UserAdmin.css" rel="stylesheet" type="text/css" /> <a href="/test.php">test</a></li>
Я хочу изменить их на:
<script src="http://www.mydomain.com/Common/Scripts/jquery-1.4.4.min.js" type="text/javascript"></script> <link href="http://www.mydomain.com/Common/Css/UserAdmin.css" rel="stylesheet" type="text/css" /> <a href="http://www.mydomain.com/test.php">test</a></li>
то есть. добавьте http://www.mydomain.com
перед каждым значением src и href, как это сделать, используя выражение регулярного выражения. PS: Я использую язык PHP.
Используйте следующее regexp:
([\b]*)(src|href)([\b]*=[\b]*")(.+?")
и заменить на:
\1\2\3http://www.mydomain.com\4
Основная идея здесь – использовать ленивый оператор «+?»
Group1: ([\b]*) 0 or more blanks ... followed by Group2: (src|href) src or href ... followed by Group3: ([\b]*=[\b]*") 0 or more blanks followed by = followed by 0 or more blanks followed by a quote ... followed by Group4: (.+?") any group of characters until the nearest quote
затем замените на то, что сопоставлено с Group1, а затем Group2, а затем Group3, вставьте http://www.mydomain.com , то что сопоставлено с Group4
Не повредите себя регулярным выражением, если вам это не нужно.
$search = array('<script src="/', '<link href="/', '<a href="/'); $d = 'http://www.mydomain.com'; $replace = array('<script src="'.$d.'/', '<link href="'.$d.'/', '<a href="'.$d.'/'); str_replace($search, $replace, $s)