mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-10-22 08:05:56 +02:00
Merge pull request #1431 from dhensby/pulls/3.2/link-tracking-fix
FIX Link tracking not escaping `#`
This commit is contained in:
commit
cf0a19e5a6
@ -259,12 +259,13 @@ class SiteTreeLinkTracking_Parser {
|
||||
// Local anchor.
|
||||
$matches = array();
|
||||
if(preg_match('/^#(.*)/i', $href, $matches)) {
|
||||
$anchor = preg_quote($matches[1], '#');
|
||||
$results[] = array(
|
||||
'Type' => 'localanchor',
|
||||
'Target' => null,
|
||||
'Anchor' => $matches[1],
|
||||
'DOMReference' => $link,
|
||||
'Broken' => !preg_match("#(name|id)=\"{$matches[1]}\"#", $htmlValue->getContent())
|
||||
'Broken' => !preg_match("#(name|id)=\"{$anchor}\"#", $htmlValue->getContent())
|
||||
);
|
||||
|
||||
continue;
|
||||
|
@ -20,6 +20,7 @@ class SiteTreeLinkTrackingTest extends SapphireTest {
|
||||
|
||||
$this->assertFalse($this->isBroken('<a name="anchor">anchor</a>'));
|
||||
$this->assertFalse($this->isBroken('<a id="anchor">anchor</a>'));
|
||||
$this->assertTrue($this->isBroken('<a href="##anchor">anchor</a>'));
|
||||
|
||||
$page = new Page();
|
||||
$page->Content = '<a name="yes-name-anchor">name</a><a id="yes-id-anchor">id</a>';
|
||||
|
Loading…
Reference in New Issue
Block a user