Is there a way in php to extract any string between those quotes and all the other text, and variables - extract

Is there a way using php to extract a string from here. Ive found other posts but i think this one may be harder, because the string may include quotes or other characters in itself.
String is like this, with some variable parts and other constant, that i will point to you:
<base href="http://www.domain.com/folder/" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="What about having a look at those webs. "/>
It is all that including the line breaks.
Im targeting what would be inside the content part of meta name and between the quotes:
What about having a look at those webs.
This parts are constant:
<base href="" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content=""/>
while these parts are variable:
http://www.domain.com/folder/
What about having a look at those webs.
How could php look for the pattern:
<meta name="description" content="
and print everything following until it finds pattern:
"/>
Other replies use very long regex to strip, but im unsure this could be done with a long paragraph like this and with multiple strings changing, so maybe there is a way to look for patterns and chop this.
The string is the output of a smarty.

Related

Open Graph debugger fail page after adding meta description

My Open Graph markup worked great up until about two years ago and then stopped at about the same time as I moved from my old Mac to a new one.
To isolate the problem I have made a page that just contain the bare minimum of tags and that work.
See: http://www.skofeber.se/og-test-produkt-ok.html
But if I try to add other basic tags like a meta description tag the Facebook Open Graph Debugger will report errors even though nothing has changed in the OG-markup.
See: http://www.skofeber.se/og-test-produkt-fail.html
The only difference between these two pages is that the second one has the following tag (and also the og:url is changed to be correct)
<meta property="description" content="FooBar" />
"FooBar" can be any text, the result is the same.
The FB OG Debugger will now report:
Object at URL 'http://www.skofeber.se/og-test-produkt-fail2.html' of type 'website' is invalid because a required property 'og:title' of type 'string' was not provided.
and
The 'og:image' property should be explicitly provided, even if a value can be inferred from other tags.`
It will also display Response Code 0 instead of 206 that it shows for the first page that works.
The same thing happens if I replace the meta description tag with:
<link rel="shortcut icon" href="/favicon.ico" />
The W3C HTML checker report no errors or warnings for either page.
I use BBedit on Mac to write the pages and they are served via Mac OS X Server built in Apache.
This is the markup I use that only work if you delete the last line:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta property="og:title" content="FLAMINGO-801LG, Pleaser - Skofeber" />
<meta property="og:type" content="website" />
<meta property="og:url" content="http://www.skofeber.se/og-test-produkt-fail.html" />
<meta property="og:image" content="http://images.pleaserusa.com/picxnw/flamingo-801lg-cbg.jpg" />
<meta property="og:site_name" content="Skofeber" />
<meta property="fb:admins" content="1828455913" />
<meta property="fb:app_id" content="1866414943596562">
<meta property="og:description" content="Skor, stövlar och högklackade i alla modeller och storlekar. Över 3 000 modeller från Pleaser, Demonia, Fabulicious, Funtasma, Bordello, Pin Up Couture, Pleaser Day & Night och Devious" />
<meta name="google-site-verification" content="6R2MYVKMcuGQTOjcexRK7BkomqpJGwoyNZ4gPaaHAEc" />
<meta property="description" content="FooBar" />`

Facebook Open Graph not picking up images (or anything in debugger)

this is really doing my head in. I have a site that is not allowing facebook to scrape data and show og:image parameters.
I have tried the following:
remove any disallows in robots text (just in case)
Make images smaller (they were huge)
check and double check markup of og tags
tried also adding the images to the page in case they also needed to be
there rather than displayed in a js slider
Checked blacklist of URL
cleared browsing history (as described by another user in my searches)
uploaded a resized thumbnail rather than using php to create the dynamic thumb (images are dynamic on this site)
created a blank test static html page with pretty much nothing on it to really
trouble shoot the issue.
it still doesn't work.
Here is my test page code. i removed urls for now. but if you want to check the page just ask me.
<!DOCTYPE html>
<html xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="article" />
<meta property="og:url" content="http://www.mysite.co/test/" />
<meta property="og:title" content="my site Test Page" />
<meta property='og:site_name' content='my site' />
<title>Homepage</title>
<meta name="description" content=""/>
<meta name="keywords" content=""/>
<meta property="og:image" content="http://www.mysite.co/test/43FINFAdeleThiel1.jpg" />
</head>
<body>
<img src="http://www.mysite.co/test/43FINFAdeleThiel1.jpg">
</body>
</html>
Thanks in advance everyone, this is really eating up my time :(

How to successfully implement og:image for the LinkedIn

THE PROBLEM:
I am trying, without much success, to implement open graph image on site: http://www.guarenty-group.com/cz/
The homepage is completeply bypassing the og:image tag, where internal pages are reading all images from the site and place og:image as the last option.
Other social networks are working fine on both internal pages and homepage.
THE CONFIGURATION:
I have no share buttons or alike, all I want is to be able to share the link via my profile.
The image is well over 300x300px: http://guarenty-group.com/img/gg_seal.png
Here is how my head tag looks like:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Guarenty Group : Pojištění pro nájemce a pronajímatelé</title>
<meta name="keywords" content="" />
<meta name="description" content="Guarenty Group pojišťuje příjem z nájmu pronajímatelům, kauci nájemcům - aby nemuseli platit velkou částku v hotovostí předem - a dále nájemcům pojišťuje příjmy, aby měli na nájem při nemoci, úrazu či nezaměstnání." />
<meta name="image_src" content="http://guarenty-group.com/img/gg_seal.png" />
<meta name="image_url" content="http://guarenty-group.com/img/gg_seal.png" />
<meta property="og:title" content="Pojištění pro nájemce a pronajímatelé" />
<meta property="og:url" content="http://guarenty-group.com/cz/" />
<meta property="og:image" content="http://guarenty-group.com/img/gg_seal.png" />
<meta property="og:description" content="Guarenty Group pojišťuje příjem z nájmu pronajímatelům, kauci nájemcům - aby nemuseli platit velkou částku v hotovostí předem - a dále nájemcům pojišťuje příjmy, aby měli na nájem při nemoci, úrazu či nezaměstnání [...]" />
...
</head>
THE TESTING RESULTS:
In order to trick the cache i have tested the site with http://www.guarenty-group.com/cz/?try=N, where I have changed the N every time. The strange thing is that images found for different value of N is different. Sometimes there is no image, sometimes there is 1, 2 or 3 images, but each time there is a different set of images.
But, in any case I could not find the image specified in the og:graph!
MY QUESTIONS:
https://developer.linkedin.com/documents/setting-display-tags-shares is saying one thing, and the personnel on the support forum is saying "over 300" Does anyone know What is the official minimum dimension of the image (both w and h)?
Can an image be too large?
Should I use the xmlns, should I not use xmlns or it doesn't matter?
What are the maximum (and minimum) lengths for og:title and og:description tags?
Any other suggestion is of course welcomed :)
Thanks in advance, cheers~
This answer I found on LinkedIn forums might be of help to you:
Guys, I've spent a whole day trying different things. What worked for
me is using the mata [sic] tags as following:
<meta prefix="og: http://ogp.me/ns#" property="og:title" content="{Your content}" />
<meta prefix="og: http://ogp.me/ns#" property="og:type" content="{Your content}" />
<meta prefix="og: http://ogp.me/ns#" property="og:image" content="{Your content}" />
<meta prefix="og: http://ogp.me/ns#" property="og:url" content="{Your content}" />
Just try to add prefix to every tag (not to html tag), then re-sign in
with your LI account to clear the cache...
Post your results.
I found this simple fix which worked for me after lots of complicated solutions which didn't work:
LinkedIn
The only way to “clear” the sharing preview cache for LinkedIn is to trick LinkedIn into thinking your page is a different (and new) page.
This is done by adding a made-up parameter to the link. It doesn’t affect your webpage, but it does force the metadata to be re-fetched.
Example:
Original link: //beantin.se/consultant-resume
"New" link: //beantin.se/consultant-resume?1
I was having the same issue last night. Spent hours researching solutions and I tried the solutions recommended by others in this post but to no avail. Finally I contacted LinkedIn about this issue and they responded right away. Their development team has implemented a new tool called "Post Inspector", which allows you to optimize content sharing. Literally, in just minutes this actually worked.
All you have to do is type in your URL and they do all the busy work i.e. verifying correct code of properties such as image, author, title, description, publication date etc. Not only do they verify, they also tell you what code to include, what is missing, and how to fix it.
Here is the website to use Post Inspector:
https://www.linkedin.com/post-inspector/
LinkedIn is also caching previews. If OpenGraph image was incorrectly cached at some point before, try defeating the cache with a query parameter on a shared link, e.g. https://your-website.com/?1.
Just a little late lol,
But I came across this exact issue, figured out that linkedIn was pulling the meta tags from the final landing page.
My website that i was trying to link to had an instant redirect, adding the og tags to the page where it was redirected to fixed the issue.
Make sure your og: tags are part of the head tag.
I ran into this recently, spent a huge amount of time working on it with all the types of solutions above. I was working with someone else's HTML and finally figured out that the html was simply missing the head tag, while it did have the closing tag for head.
Linked In is apparently not scanning page text for the og tags, but processing the page dom, and if the dom objects aren't properly coded, they won't process. If you have issues with unmatched tags or unclosed tags, this could be your issue if everything else is not working.
I did not need to add prefix to the meta tags or add og image height and width tags once the html was fixed. Linked In processed it fine once the html was fixed.
If you don’t want to add a fake query string parameter to your LinkedIn URLs—as suggested in e.g., #Kym's answer—a simple solution is just to sign out and then sign back in.
For me solution was to put all the <meta> tags (without prefix) inside <head> tag.
For other social networks like Facebook, Twitter or Google you don't even need to have <head> tag. (because it it optional in HTML5 specs)
PS. There is a new nice way for testing <meta> tags on your website: https://metatags.io/
After researching for a day, I found that meta tag with attribute property should be used instead of name.
<!doctype html>
<html prefix="og: http://ogp.me/ns#">
<head>
<meta property="og:type" content="website" />
...
Ref: https://ogp.me/
In my case I did exactly this and it worked fine (on my page of course).
Put these four lines in the head:
<title> aanalytics </title>
<meta data-react-helmet="true" property="og:image" content="/photos/s5.jpg">
<meta data-react-helmet="true" property="og:type" content="website">
<meta data-react-helmet="true" property="og:url" content="https://www.aanalytics.de">
BUT, pay attention that if you have more than one head in your page, these lines need to be inserted in the first head otherwise it will not work.
I also had prefix="og: http://ogp.me/ns#” in the html
I got it finally working by adding the full image path:
<meta name="image" property="og:image" content="https://hasan.life/images/preview.png">
This is worked for me.
Somehow this problem happens if you don't set your open graph tags properly.
Instead of this:
<meta name="image" property="og:image" content="{content}" />
Try this:
<meta name="image" property="og:image" content="{content}" />
<meta property="og:image:secure_url" content="{content}" />
<meta property="og:image:width" content="640" />
<meta property="og:image:height" content="442" />
I've tried for more than half an hour and I found this one which worked 100% correctly
Source: https://www.linkedin.com/help/linkedin/answer/a521928/making-your-website-shareable-on-linkedin?lang=en
• You can also check your Open graph credentials on https://www.opengraph.xyz/
<meta name="title" property="og:title" content="Enter your title here">
<meta property="og:type" content="Enter any tyoe like Article or Website">
<meta name="description" property="og:description" content="Enter description here">
<meta name="image" property="og:image" content="Enter image URL here">
<meta property='og:url' content='Enter website URL here'/>

XML and Special characters & different closing tags

Ok.. so I have an excel spread sheet. I need to build a schema that will suite the columns within the sheet. But the columns titles contain HTML code. Is there a XML editor that can assist in this or can I do this freehand?
<meta name="title" content="Test Page"/>
<meta name="dcterms.title" content="Test Page" />
<meta name="dcterms.creator.CHIN" content="All about my test page..blah blah blah"/>
<meta name="dcterms.creator.org" content="Test Guy"/>
<meta name="dcterms.creator.ind" content="TG"/>
<meta name="dcterms.created" scheme="W3CDTF" content=""/>
<meta name="dcterms.issued" scheme="W3CDTF" content="2010-11-13"/>
<meta name="dcterms.modified" scheme="W3CDTF" content=""/>
<meta name="dcterms.language" scheme="ISO639-2/T" content="eng" />
The name of each column is within tags... whats the solution to make tis work.. any ideas?
If the title, dcterms.* are the tag names, you're in the clear.
XML tag names can contain ., just not start with it.
Edit: As an alternative, you could tree out:
<dcterms>
<dcterm>
<title>Test Page</title>
<creator>
<CHIN>All about my test page..blah blah blah</CHIN>
<org>Test Guy</org>
<ind>TG</ind>
</creator>
<created>2010-11-13</created>
<!-- ... -->
</dcterm>
<dcterm>
<!-- ... -->
</dcterm>
</dcterms>
Depending on your setup, this may or may not end up as being easier to parse and, generally, deal with.

Facebook Sharing won't use specified image & link

I'm using Facebooks' Open Graph protocol :
http://developers.facebook.com/docs/reference/plugins/like/
Here's code for a test page. My understanding is that when someone "likes" this, the image icon that placed in the post on their
page should be the one specified in og:image, and the linkable url in the post should be the one specified in og:url.
In reality, it seems to truncate the URL to the domain, and instead of using the image provided it picks one seemingly at random (my guess is it's just taking the first image it sees from a scan or specified elsewhere in the code).
Am I doing anything obviously wrong here?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>My Site</title>
<meta property="og:title" content="My Site Title" />
<meta property="og:type" content="website" />
<meta property="og:url" content="http://www.mysite.org/videos/index/16922653" />
<meta property="og:image" content="http://b.vimeocdn.com/ts/104/367/104367616_200.jpg" />
<meta property="og:site_name" content="My Site" />
<meta property="og:app_id" content="5555555555" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="image_src" href="http://b.vimeocdn.com/ts/104/367/104367616_200.jpg" />
</head>
<body>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<fb:like href="http://www.mysite.org/videos/index/16922653" show_faces="false" width="450" />
</body>
</html>
Update: #echese
Good suggestion. Ran it, got this feedback from the "debug" section:
Data Source "website" extracted from <meta property="og:type" />
Data Source "My Site Title" extracted from <meta property="og:title" />
Data Source "http://www.mysite.org/videos/index/16922653" extracted from <meta property="og:url" />
Data Source Extracted 1 values from <meta property="og:image" />: http://b.vimeocdn.com/ts/104/367/104367616_200.jpg
Data Source "My Site" extracted from <meta property="og:site_name" />
Looks like it understands the image url. It suggested some iframe code which I tried but still no dice, I don't get the image I specify.
Try running the URL Linter to see if you can find any errors on your pages.
hmm maybe (maaaaaaybe) it's because you dont have the og namespace on the html tag..
or.. maybe because the image's url is on a different domain than your page?
good luck