Skip to main content

parse_rss_person

Function parse_rss_person 

Source
pub fn parse_rss_person(text: &str) -> Person
Expand description

Parses an RSS person string into a structured Person.

Recognizes common RSS author formats:

  • email (Name)Person { name: Some("Name"), email: Some("email") }
  • Name <email>Person { name: Some("Name"), email: Some("email") }
  • bare email (contains @) → Person { email: Some(text) }
  • plain string → Person { name: Some(text) }

§Examples

use feedparser_rs::util::text::parse_rss_person;

let p = parse_rss_person("editor@example.com (John Editor)");
assert_eq!(p.name.as_deref(), Some("John Editor"));
assert_eq!(p.email.as_deref(), Some("editor@example.com"));

let p = parse_rss_person("John Editor <editor@example.com>");
assert_eq!(p.name.as_deref(), Some("John Editor"));
assert_eq!(p.email.as_deref(), Some("editor@example.com"));

let p = parse_rss_person("just-a-name");
assert_eq!(p.name.as_deref(), Some("just-a-name"));
assert!(p.email.is_none());