Detect only internal links containing the rel noopener
-
Hello, I would like to process a regex to look for only the internal links containing the rel="noopener" For example search for this link:
In this case the regex should be:
href="https://www.linkinterno.it(.*?)rel="noopener"
and it should work as I checked it with the following regex test: https://www.freeformatter.com/regex-tester.html However, I am not looking for internal links correctly, only those with rel="noopener". How can I solve? Thank you ;)
-
Hello, I would like to process a regex to look for only the internal links containing the rel="noopener" For example search for this link:
In this case the regex should be:
href="https://www.linkinterno.it(.*?)rel="noopener"
and it should work as I checked it with the following regex test: https://www.freeformatter.com/regex-tester.html However, I am not looking for internal links correctly, only those with rel="noopener". How can I solve? Thank you ;)
-
Try this
href="https:\/\/www.linkinterno.it.*rel="noopener"
I had to escape the forward slashes '/' to try it in some of the regex testers so depending on the flavour of regex you are using you may need to remove them.
Thanks a lot ;) So, the concept is to find out if inside an href there is the site name (so that I can understand that it is an internal link) and that it contains the rel="noopener". I have adapted the regex to the best, modifying it like this:
www.sito.it. * rel = "noopener"
and removing the https: // protocol which can generate errors. Unfortunately, however, something is still wrong. I state that the regex I need for a seo spider (ScreamingFrog), in which it is possible to set the targeted regex for searches within a website. I await your clarifications on this. Thanks a lot ;)
-
Thanks a lot ;) So, the concept is to find out if inside an href there is the site name (so that I can understand that it is an internal link) and that it contains the rel="noopener". I have adapted the regex to the best, modifying it like this:
www.sito.it. * rel = "noopener"
and removing the https: // protocol which can generate errors. Unfortunately, however, something is still wrong. I state that the regex I need for a seo spider (ScreamingFrog), in which it is possible to set the targeted regex for searches within a website. I await your clarifications on this. Thanks a lot ;)
Without knowing what the internal link actually looks like it is difficult to help. Assuming that an internal link looks like this href="/2018/titolo" You could try this
.*href=("https:\/\/www.linkinterno.it|"\/).*(rel="noopener").*
You would obviously have to check the first group to see if the 'https://'www.linkinterno.it"' was matched or just the '/' and then look at the second group to see if the rel="noopener" was matched.
-
Without knowing what the internal link actually looks like it is difficult to help. Assuming that an internal link looks like this href="/2018/titolo" You could try this
.*href=("https:\/\/www.linkinterno.it|"\/).*(rel="noopener").*
You would obviously have to check the first group to see if the 'https://'www.linkinterno.it"' was matched or just the '/' and then look at the second group to see if the rel="noopener" was matched.
Thanks for the reply, I tried but all links containing rel noopener are searched. I'm interested in searching for internal links only, and can be recognized by the name of the site in the link. For example, if the site is https://www.sitoprova.it, in href there must be the name of the site at the beginning of the link, i.e.
-
Thanks a lot ;) So, the concept is to find out if inside an href there is the site name (so that I can understand that it is an internal link) and that it contains the rel="noopener". I have adapted the regex to the best, modifying it like this:
www.sito.it. * rel = "noopener"
and removing the https: // protocol which can generate errors. Unfortunately, however, something is still wrong. I state that the regex I need for a seo spider (ScreamingFrog), in which it is possible to set the targeted regex for searches within a website. I await your clarifications on this. Thanks a lot ;)
With the sample text-strings you've provided, its impossible for any expression to match by 'internal' domain. If your application has a %variable% to represent the domain being searched, you would have to provide this. Regex simply matches text, it cant determine if that text is "the domain being searched" by your application. I've seen apps that support variables like %domain% in their match-expressions, but they're specific to that application. So if your app supports this, you'd have to look up the variable-name in the documentation, to provide a working example. Short of that, you would need to either hard-code the domains per site being searched, like in the example provided. Or include a larger snippet of the html, but only if the html offered another way to verify 'internal' (highly unlikely). Sorry for the news, but regex wont solve this without 'internal' being defined, whether by a previous match, or by some variable. Some apps even let you customize variables, so maybe thats another option? Sorry, but I know nothing of this "Screaming Frog". Either way, I do wish you luck!