Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 11b9f17

Browse files
Merge pull request #172 from jmalarcon/master
Enhanced Post.FirstImgSrc method to really find the first image
2 parents 7f695b4 + 739d681 commit 11b9f17

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

‎BlogEngine/BlogEngine.Core/Post.cs‎

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using System.Linq;
99
using System.Net.Mail;
1010
using System.Text;
11+
using System.Text.RegularExpressions;
1112
using System.Web;
1213

1314
using BlogEngine.Core.Data.Models;
@@ -694,28 +695,27 @@ public bool IsVisibleToPublic
694695
}
695696

696697
/// <summary>
697-
/// URL of the first image in the post, if any
698+
/// URL of the first image in the post, if any.
699+
/// If there's no first image, returns the URL to "images/defaultImg.jpg" in the current theme used in the blog
698700
/// </summary>
699701
public string FirstImgSrc
700702
{
701703
get
702704
{
703-
intidx = Content.IndexOf("<img src=");
704-
if (idx>0)
705+
stringsrcValue = null;
706+
if (!string.IsNullOrEmpty(content))
705707
{
706-
try
708+
Match match = Regex.Match(content, @"<img\s+?.*?src=('|"")(.*?)1円.*?>", RegexOptions.Multiline | RegexOptions.IgnoreCase);
709+
if (match.Success)
707710
{
708-
idx = idx + 10;
709-
var idxEnd = Content.IndexOf("\"", idx);
710-
if (idxEnd > idx)
711-
{
712-
var len = idxEnd - idx;
713-
return Content.Substring(idx, len);
714-
}
711+
srcValue = match.Groups[2].Value;
715712
}
716-
catch (Exception) { }
717713
}
718-
return "";
714+
if (string.IsNullOrEmpty(srcValue))
715+
{
716+
srcValue = Utils.RelativeWebRoot + "Custom/Themes/" + BlogSettings.Instance.Theme + "/images/defaultImg.jpg";
717+
}
718+
return srcValue;
719719
}
720720
}
721721

‎BlogEngine/BlogEngine.Core/Properties/AssemblyInfo.cs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@
2020
[assembly: ComVisible(false)]
2121
[assembly: AllowPartiallyTrustedCallers]
2222
[assembly: AssemblyVersion("3.3.8.0")]
23-
[assembly: SecurityRules(SecurityRuleSet.Level1)]
23+
[assembly: SecurityRules(SecurityRuleSet.Level1)]

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /