/    Sign up×
Community /Pin to ProfileBookmark

Regular expression doesn’t catch any matches

I’m using the following to try and replace the body of an HTML page when I’m not sure what settings will be applied to the <body> tag, or what will be contained:

[code]$myString = preg_replace(“/<body.+</body>/i” , $newBodyTag , $pageString);[/code]

Based on the tutorial I’ve been reading, the dot followed by the plus should match any characters, in any amount, between <body> and </body>. The escaped slash shouldn’t interfere. However, after execution the $myString var contains the whole unaltered $pageString. Have I missed something?

to post a comment
PHP

1 Comments(s)

Copy linkTweet thisAlerts:
@MrCoderMar 19.2008 — [code=php]
$myString = preg_replace("/<body.+</body>/is" , $newBodyTag , $pageString);
[/code]


Try that.

The /s modifier converts the whole string in to one line when preforming the match.
×

Success!

Help @roadkill spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.18,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...